home *** CD-ROM | disk | FTP | other *** search
- global gCPU, gSavePath, gXobjPath, gMiscXobject, gIOerrors, gFileIOobject
-
- on openDataFile
- if objectp(gFileIOobject) then
- gFileIOobject(mdispose)
- end if
- set gFileIOobject to FileIO(mnew, "?read", saveDataType())
- if objectp(gFileIOobject) then
- set dataStream to gFileIOobject(mReadFile)
- if objectp(gFileIOobject) then
- gFileIOobject(mdispose)
- end if
- exit
- else
- if not voidp(gFileIOobject) and (gFileIOobject <> -43) then
- set errorMessage to getaProp(gIOerrors, abs(gFileIOobject))
- if voidp(errorMessage) then
- alert("Error occurred: Code" && string(gFileIOobject))
- else
- alert("Error occurred:" && errorMessage)
- end if
- end if
- if objectp(gFileIOobject) then
- gFileIOobject(mdispose)
- end if
- exit
- end if
- end
-
- on saveDataFile saveName, saveString
- set diskSpace to gMiscXobject(mSpaceOnVol, gMiscXobject(mBootName))
- if diskSpace < 50000 then
- alert("Sorry, the disk is too full to save your game.")
- exit
- end if
- if objectp(gFileIOobject) then
- gFileIOobject(mdispose)
- end if
- if gCPU = #Windows then
- set saveName to saveName & "." & saveDataType()
- end if
- set gFileIOobject to FileIO(mnew, "write", gSavePath & ":" & saveName)
- if objectp(gFileIOobject) then
- if gCPU = #Mac then
- put gFileIOobject(mSetFinderInfo, saveDataType(), "ttxt")
- end if
- gFileIOobject(mWriteString, saveString)
- if objectp(gFileIOobject) then
- gFileIOobject(mdispose)
- end if
- exit
- else
- if not voidp(gFileIOobject) and (gFileIOobject <> -43) then
- set errMsg to getaProp(gIOerrors, abs(gFileIOobject))
- if voidp(errMsg) then
- alert("Error occurred: Code" && string(gFileIOobject))
- else
- alert("Error occurred:" && errMsg)
- end if
- end if
- if objectp(gFileIOobject) then
- gFileIOobject(mdispose)
- end if
- exit
- end if
- end
-
- on saveDataType
- if gCPU = #Mac then
- set signature to "TEXT"
- else
- set signature to "TXT"
- end if
- return signature
- end
-